import 'package:json_annotation/json_annotation.dart';

part 'data.g.dart';

@JsonSerializable()
class ProjectData {
  ProjectData({
    this.pageIndex,
    this.pageSize,
    this.startIndex,
    this.projectId,
    this.createId,
    this.projectName,
    this.useArea,
    this.skillArea,
    this.valuation,
    this.valuationType,
    this.fruitType,
    this.processType,
    this.financingType,
    this.cooperateType,
    this.yourWant,
    this.yourWantContent,
    this.words,
    this.companyName,
    this.contactName,
    this.phoneNumber,
    this.email,
    this.provinceId,
    this.cityId,
    this.areaId,
    this.photos,
    this.summary,
    this.detail,
    this.teamDesc,
    this.proveUrl,
    this.createTime,
    this.updateTime,
    this.updateBy,
    this.comment,
    this.state,
    this.approvalState,
    this.approvalOpinion,
    this.approvalUser,
    this.approvalTime,
    this.delFlag,
    this.isRecommend,
    this.recommendTime,
    this.startVideo,
    this.endVideo,
    this.browseNum,
    this.checkSolution,
    this.provinceName,
    this.cityName,
    this.importFlag,
    this.publishUserId,
    this.talkUserId,
    this.shareUserIds,
    this.approvalFlag,
    this.childUserId,
    this.talkChildUserId,
    this.areaName,
    this.useAreaStr,
    this.skillAreaStr,
    this.fruitTypeStr,
    this.processTypeStr,
    this.financingTypeStr,
    this.createName,
    this.accountHead,
    this.keyWord,
    this.sort,
    this.userProvince,
    this.userCity,
    this.userArea,
    this.stateLabel,
    this.approvalStateLabel,
    this.userName,
    this.agentId,
    this.agentUserInfoId,
    this.agentApplyId,
    this.userPhoneNumber,
    this.topState,
    this.topStartTime,
    this.topEndTime,
    this.topCreateTime,
    this.levelNum,
    this.searchCity,
    this.searchProv,
    this.subCode,
    this.publishUserName,
    this.publishUserLogo,
    this.publishUserPhone,
    this.talkUserName,
    this.talkUserLogo,
    this.talkUserPhone,
    this.talkUserIsAgent,
    this.shareUserNames,
    this.childUserName,
    this.childUserLogo,
    this.childUserPhone,
    this.childUserJob,
    this.talkChildUserName,
    this.talkChildUserLogo,
    this.talkChildUserPhone,
    this.talkChildUserJob,
    this.yourWantStr,
  });

  int pageIndex;
  int pageSize;
  int startIndex;
  int projectId;
  int createId;
  String projectName;
  List<int> useArea;
  List<int> skillArea;
  dynamic valuation;
  int valuationType;
  List<int> fruitType;
  List<int> processType;
  List<int> financingType;
  List<String> cooperateType;
  List<String> yourWant;
  String yourWantContent;
  List<String> words;
  String companyName;
  String contactName;
  String phoneNumber;
  String email;
  int provinceId;
  int cityId;
  int areaId;
  List<String> photos;
  String summary;
  String detail;
  String teamDesc;
  List<String> proveUrl;
  DateTime createTime;
  DateTime updateTime;
  dynamic updateBy;
  String comment;
  int state;
  int approvalState;
  String approvalOpinion;
  String approvalUser;
  DateTime approvalTime;
  int delFlag;
  int isRecommend;
  dynamic recommendTime;
  String startVideo;
  String endVideo;
  int browseNum;
  String checkSolution;
  String provinceName;
  String cityName;
  int importFlag;
  int publishUserId;
  int talkUserId;
  String shareUserIds;
  int approvalFlag;
  dynamic childUserId;
  dynamic talkChildUserId;
  dynamic areaName;
  dynamic useAreaStr;
  dynamic skillAreaStr;
  dynamic fruitTypeStr;
  dynamic processTypeStr;
  dynamic financingTypeStr;
  String createName;
  String accountHead;
  String keyWord;
  String sort;
  dynamic userProvince;
  dynamic userCity;
  dynamic userArea;
  dynamic stateLabel;
  dynamic approvalStateLabel;
  dynamic userName;
  dynamic agentId;
  dynamic agentUserInfoId;
  dynamic agentApplyId;
  String userPhoneNumber;
  int topState;
  DateTime topStartTime;
  DateTime topEndTime;
  DateTime topCreateTime;
  int levelNum;
  dynamic searchCity;
  dynamic searchProv;
  dynamic subCode;
  String publishUserName;
  String publishUserLogo;
  String publishUserPhone;
  dynamic talkUserName;
  dynamic talkUserLogo;
  dynamic talkUserPhone;
  bool talkUserIsAgent;
  dynamic shareUserNames;
  dynamic childUserName;
  dynamic childUserLogo;
  dynamic childUserPhone;
  dynamic childUserJob;
  dynamic talkChildUserName;
  dynamic talkChildUserLogo;
  dynamic talkChildUserPhone;
  dynamic talkChildUserJob;
  dynamic yourWantStr;

  factory ProjectData.fromJson(Map<String, dynamic> json) =>
      _$ProjectDataFromJson(json);
  Map<String, dynamic> toJson() => _$ProjectDataToJson(this);
}
